home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / samples / Multimedia / Direct3D / Screensavers / Moire / moire.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  2KB  |  87 lines

  1. //-----------------------------------------------------------------------------
  2. // File: Moire.h
  3. //
  4. // Desc: 
  5. //
  6. // Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
  7. //-----------------------------------------------------------------------------
  8. #ifndef _MOIRE_H
  9. #define _MOIRE_H
  10.  
  11. #define MAX_DEVICE_OBJECTS 10
  12.  
  13. struct DeviceObjects
  14. {
  15.     CD3DFont* m_pStatsFont;
  16.     LPDIRECT3DVERTEXBUFFER8 m_pVBArray[3];
  17.     LPDIRECT3DTEXTURE8 m_pTexArray[4];
  18. };
  19.  
  20.  
  21. class   CMoireScreensaver : public CD3DScreensaver
  22. {
  23. protected:
  24.     DeviceObjects  m_DeviceObjectsArray[MAX_DEVICE_OBJECTS];
  25.     DeviceObjects* m_pDeviceObjects;
  26.  
  27.     DWORD   m_dwNumVerticesArray[3];
  28.  
  29.     DWORD   m_dwMeshInterval;
  30.     INT     m_iMesh;
  31.     INT     m_iMeshPrev;
  32.     FLOAT   m_fTimeNextMeshChange;
  33.     FLOAT   m_fTimeStartMeshChange;
  34.  
  35.     DWORD   m_dwTextureInterval;
  36.     INT     m_iTexture;
  37.     INT     m_iTexturePrev;
  38.     FLOAT   m_fTimeNextTextureChange;
  39.     FLOAT   m_fTimeStartTextureChange;
  40.  
  41.     DWORD   m_dwColorInterval;
  42.     INT     m_iColorScheme;
  43.     INT     m_iColorSchemePrev;
  44.     FLOAT   m_fTimeNextColorChange;
  45.     FLOAT   m_fTimeStartColorChange;
  46.     BOOL    m_bBrightColors;
  47.     
  48.     FLOAT   m_fScale1, m_fScale2;
  49.     FLOAT   m_fRot1, m_fRot2;
  50.  
  51.     D3DXCOLOR m_col1;
  52.     D3DXCOLOR m_col2;
  53.     D3DXCOLOR m_col3;
  54.  
  55.     FLOAT   m_fSpeed;
  56.  
  57. protected:
  58.     virtual VOID    DoConfig();
  59.     virtual VOID    ReadSettings();
  60.  
  61.     virtual VOID    SetDevice( UINT iDevice );
  62.     virtual HRESULT Render();
  63.     virtual HRESULT FrameMove();
  64.     virtual HRESULT RestoreDeviceObjects();
  65.     virtual HRESULT InvalidateDeviceObjects();
  66.  
  67.     VOID    Randomize( INT* piNum, INT iMax );
  68.     HRESULT BuildTextures();
  69.     HRESULT BuildMeshes();
  70.     HRESULT LoadDDSTextureFromResource( LPDIRECT3DDEVICE8 pd3dDevice, 
  71.         TCHAR* strRes, LPDIRECT3DTEXTURE8* ppTex );
  72.     VOID    GenerateColors( INT iColorScheme, BOOL bBright, 
  73.         D3DXCOLOR* pcol1, D3DXCOLOR* pcol2, D3DXCOLOR* pcol3 );
  74.     HRESULT ReadRegistry();
  75.     HRESULT WriteRegistry();
  76.  
  77.  
  78. public:
  79.     CMoireScreensaver();
  80.  
  81.     // Override from CD3DScreensaver
  82.     INT_PTR CALLBACK ConfigureDialogProc( HWND hwndDlg, UINT uMsg, 
  83.                                           WPARAM wParam, LPARAM lParam );
  84. };
  85.  
  86. #endif
  87.